package com.wyj.controller;

import com.wyj.mapper.YlrcUserMapper;
import com.wyj.pojo.YlrcUser;
import com.wyj.service.impl.YlrcUserServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

/**
 * @author ：wyj
 * @description：TODO
 * @date ：2022/11/19 5:26 下午
 */
@RestController
@RequestMapping("/userAndRole")
public class UserAndRoleController {

    @Autowired
    YlrcUserServiceImpl ylrcUserServiceImpl;

    //查看一个用户的角色
    @GetMapping("{/userName}")
    public List<Map<String,Object>> getUserAndRoles(@PathVariable("Usernaem") String userName) {
        List<Map<String, Object>> userAndRoles = ylrcUserServiceImpl.getUserAndRoles(userName);
        return userAndRoles;
    }

    //添加一个用户的角色 （我们前端 提供的参数需要进行一些处理 如果是具体的角色名字的话 我们要将其转换为具体的 id）
    @PostMapping
    public String addUserAndRoles(@ModelAttribute("ylrcUser")YlrcUser ylrcUser) {
        try {
           int i = ylrcUserServiceImpl.addUser(ylrcUser);
            if (i > 0) return "添加一个用户角色成功";
        } catch (Exception e) {
            new RuntimeException(e);
        }
        return "添加一个用户角色失败";
    }

    //移除一个用户拥有的角色
    @DeleteMapping
    public String deleteUserAndRoles(String username,int roleId) {
        try{
            int i = ylrcUserServiceImpl.deleteUserAndRole(username, roleId);
            if (i >=0 ) return "移除一个用户拥有的角色成功";
        } catch (Exception e) {
            new RuntimeException(e);
        }

        return "移除一个用户拥有的角色失败";
    }


}
